"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/12 8:44
@Description : 
数据容器的使用
1.变量    计算机内存中的一段空间   变量名
计算一个班级学生平均成绩
一个班级有3名学生

班级人数为50人  需要多次定义变量
不足:
   1.代码冗余
   2.频繁的开辟内存空间 会极大的消耗计算机性能
解决方案:
  1. 列表   存储多个值
如何定义列表
lst = []  定义空列表

存储数据的特点 :
有序   根据添加顺序
可重复  元素的值可以重复
"""
score1 = 70
score2 = 60
score3 = 80
avg = (score1 + score2 + score3) / 3
# 班级学生的平均成绩
print(avg)

print('----------------------------------------')
# 使用列表计算平均分
score_list = []
print(f'score_list的数据类型是{type(score_list)}')  # list  列表
# 存储数据列表
"""
score_list[0] = 70   #  IndexError
score_list[1] = 60
score_list[2] = 80
"""
# 使用append函数实现数据的追加
score_list.append(70)
score_list.append(80)
score_list.append(60)
score_list.append(80)

# 输出列表
print(score_list)
# 如何获取列表中的数据  列表名[index]
print(score_list[0])
print(score_list[1])
print(score_list[2])
print(score_list[3])

# 计算平均值
sum = score_list[0] + score_list[1] + score_list[2] + score_list[3]
# 获取列表元素个数 len()
list_len = len(score_list)
print(f'平均分 = {sum / list_len}')

print('-----------------------------------------')
"""
 录入学生成绩  当用户输入exit是 结束录入  输出平均分
"""
scores = []
while True:
    user_input = input('请输入学生的成绩(exit退出)')  # str
    if user_input == 'exit':
        break
    else:
        scores.append(float(user_input))

# 获取列表中所分数   求和  IndexError  list index out of range  遍历
sum = 0
for score in scores:  # scores 列表  可迭代元素  每次从列表 中去一个元素赋值给变量
    sum += score

print(sum)
print(sum/len(scores))

